//-----------------------------------------------------------------------

// <copyright file="IModelObjectFormDefiner.cs" company="Jamie Knight">

// Copyright (c) Jamie Knight. All rights reserved.

// </copyright>

//-----------------------------------------------------------------------

using DevKnightlie.WPF.AutoForm.FieldDefinitions;
using System;
using System.Collections.Generic;

namespace DevKnightlie.WPF.AutoForm.Interfaces
{
    /// <summary>
    /// Describes the ModelObjectFormDefiner, which creates an AutoForm D from a model object
    /// </summary>
    public interface IModelObjectFormDefiner
    {

        /// <summary>
        /// Returns an IEnumerable of FieldDefinition objects for the attached model object
        /// </summary>
        /// <returns>IEnumerable of FieldDefinition</returns>
        IEnumerable<BaseFieldDefinition> FieldDefinitionList();


        /// <summary>
        /// Sets or returns the model object used to define the form
        /// </summary>
        object ModelObject { get; set; }
    }
}
